#!/bin/bash
# \author lso1213

#simuliamo una partita fra 2 client
#attivazione server in modalita' TEST [-t]
./brsserver users1.txt -t 2> eserv &

#attivazione primo client
./nonnapapera.sh >out.nonnapapera 2>enon &

# do tempo di connettersi
sleep 1

#attivazione secondo client
./minni.sh >out.minni 2>emin &
#attivazione terzo client
./paperone.sh >out.paperone 2>epap &

# do tempo di connettersi
sleep 1

#attivazione sfidanti
./topolino.sh   >out.topolino 2>etop &
./pluto.sh   >out.pluto 2>eplu &
./pippo.sh   >out.pippo 2>eplu &



# richiedo e attendo la terminazione del server
# a questo punto deve essere ancora attivo e 
# attendere correttamente la terminazione delle partite in corso
if killall -w brsserver ; then
    echo OK server ancora attivo 1>&2
else
    exit 1
fi


# controllo che ogni logfile abbia un corrispondente nei file di check
# i numeri possono non corrispondere perche' le partite possono iniziare 
# ad istanti diversi

i=0
for FILE in $(ls BRS-*.log) ; do
    for FILECHECK in BRS-*.log.check ; do
	if diff $FILE $FILECHECK 1> diffout ; then
	    echo $FILE $FILECHECK corrispondono 1>&2
	    ((i += 1))
	    break;
	fi
    done
done

echo Trovati $i file uguali su 3 1>&2

if [ "$i" != 3 ] ; then
    exit 1
fi

exit 0

